1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for processing data. Still more particularly, the present invention relates to a method, apparatus, and computer instructions for hardware discovery in a data processing system.
2. Description of Related Art
When a computer is powered on, a boot program is used to boot or start the computer executing instructions. The boot program is employed to prepare the system for the operating system, load the operating system and then pass control of the computer to the operating system. Typically, the boot program is a boot firmware found on the data processing system. In some cases, the boot program may be distributed by a server on a network. The boot program probes and initializes the hardware in the system before finding and loading the operating system. When control is passed to the operating system, the boot process has been completed, but the full system initialization is not.
In probing and initializing the data processing system, the boot program typically probes or interrogates busses in the data processing system to find and initialize hardware components. These hardware components include, for example, an I/O bridge, a small computer system interface (SCSI) adapter, a network adapter, a monitor, a disc drive, a keyboard, or a tape drive. The boot program sends out requests for identification from various hardware components. In turn, the hardware components may return information, such as identifiers, which are used by the group program to identify and initialize the hardware components. In other words, the boot program interrogates the bus to identify components that may be connected to the bus.
After the boot program has identified the hardware components in the data processing system, the boot program then loads the operating system and passes control of the data processing system to the operating system. At that point, the operating system runs and controls the different aspects of the data processing system.
With large data processing systems, a planned or unplanned shutdown or restart of a data processing system may take a large amount of time. The amount of time needed to restart the operating system changes depending on the number of busses and components attached to those busses. Adding additional components to a data processing system increases the time needed to restart the data processing system because additional time is required to identify and initialize those components during the boot process.
The time needed to reboot a large data processing system, such as a server data processing system, is often inconvenient for users. Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for restarting or booting a data processing system as this represents time the data processing system is not available to perform its intended task.